perm filename NSF2.PRO[ESS,JMC]1 blob sn#022370 filedate 1973-01-28 generic text, type T, neo UTF8
00100		This  is  a request for a grant of xxx to enable the Stanford
00200	University Artificial Intelligence Laboratory to carry  out  research
00300	aimed  at  the development of home computer terminals for three years
00400	starting 1 July 1973.
00500	
00600		Even before the idea of computer time-sharing was worked out,
00700	much  less  actually  developed,  the  idea  of  the home information
00800	terminal appeared.  Some of the ideas go back to Vannevar Bush's  "As
00900	We  May  Think"  and  some  of  them appeared even earlier in science
01000	fiction.  The general idea is to give everyone  immediate  access  to
01100	both  permanent  and temporary information, to computing services for
01200	transforming this information, and to  computer  aid  in  interacting
01300	with  other people and institutions. Examples cited include immediate
01400	access to the whole of the world's literature, information about what
01500	is  for  sale  and  what  entertainment  is available, computer aided
01600	instruction and computer aids  to  the  design  and  construction  of
01700	individualized  furniture  and  clothes, direct access to airline and
01800	other reservation systems, and buying  programs  that  will  help  in
01900	getting  the best buy.  A rather full discussion of the benefits of a
02000	developed  home  terminal  system  is  contained  in  a  paper  "Home
02100	Terminals"  by  John  McCarthy  reproduced  as  Appendix  A  to  this
02200	proposal.
02300	
02400		The ideas discussed in that paper have one common theme - the
02500	use  of  technology, in this case computer technology, to enhance the
02600	capabilities of the individual and strengthen  him  in  his  dealings
02700	with the institutions of our society.  We see this as coming about in
02800	the following ways all of which  are  discussed  more  fully  in  the
02900	paper:
03000	
03100		1.  Anyone  can create a file and make it publicly available,
03200	and  this  constitutes  publication.   This   will   not   make   all
03300	publications  equal, but it will certainly strengthen individuals and
03400	small groups relative to large institutions.
03500	
03600		2. The computer is a device that considers  individual  cases
03700	cheaply.  To  the extent that programs and program controlled devices
03800	are available, it permits attention to an individual's needs at costs
03900	now  attainable only by mass production.  This potentially applies to
04000	education, production, and even law.
04100	
04200		Computer technology is now essentially ready to  realize  the
04300	home  terminal,  but  there are a number of obstacles to be overcome,
04400	and the proposed research is  intended  to  identify  them  and  help
04500	overcome them. Here are those we see now:
04600	
04700		1.   The  first  obstacle  is  the  cost  of  the  terminals,
04800	communications, time-shared computers, and bulk  information  storage
04900	devices.   In  our  opinion,  home  terminals will have a substantial
05000	market when the cost of a terminal and nominal  services  comes  into
05100	the  range  of $50 to $100 per month.  Electronics costs are reducing
05200	at a rate that will make this feasible in a few years, and we do  not
05300	propose  to work on this problem directly in this research.  In fact,
05400	we expect to use quite flexible terminals which will therefore not be
05500	the cheapest available today.
05600	
05700		2.  The  full  development  of  the above facilities requires
05800	hundreds of thousands of man years of programming  and  institutional
05900	changes  in  our  society.  What can be done easily may not be useful
06000	enough to justify purchase of home terminals by enough people to make
06100	a viable system.  We have already put much thought into determining a
06200	dozen or so applications that are feasible now and will add up  to  a
06300	worthwhile  package.  We will name some in this proposal, and we hope
06400	to think of more.
06500	
06600		3.  Home  terminal  applications  will  mostly  be  elaborate
06700	programs  that  interact  with  the  user, file structures, and other
06800	programs.  All programs with these  characteristics  that  have  been
06900	built  so  far have been tightly bound to the languages, time-sharing
07000	systems, and hardware of the institutions where they  were  developed
07100	and  transplanting  them  has been extremely difficult.  On the other
07200	hand, it is very important that home  terminal  application  programs
07300	become  universally  available  as  soon  as  they are developed.  We
07400	believe that the key to  making  this  possible  technically  is  the
07500	identification of the basic semantic elements of interactive programs
07600	separated from their syntactic expression  in  programming  languages
07700	and  the  details  of  their  realization on particular hardware.  We
07800	propose to  study  these  issues  from  the  standpoint  of  computer
07900	science.
08000	
08100		Another  computer  science  issue  that  arises is making the
08200	programs easily usable by infrequent users.   Many  present  programs
08300	exhibit  what  might  be called the instrument flying difficulty.  If
08400	you haven't used it for six hours in the last six months, you are  no
08500	longer qualified. We believe that it is possible to develop a uniform
08600	system for all kinds of programs that is reasonably self-documenting.
08700	
08800	
08900		4.  Home  terminal services are not a natural monopoly and it
09000	is important to allow access to programs that are not the property of
09100	the  time-sharing  service  bureaus  that provide the computation and
09200	also to allow a user to connect his  terminal  to  whatever  computer
09300	seems  best  to  him  at the time.  (We emphasize this point, because
09400	some advocates of home information services via CATV seem to  propose
09500	systems  in which the information services would be monopolies of the
09600	local CATV companies.) We propose to put a small effort into  working
09700	out  the  most  desirable  way of institutionalizing the provision of
09800	home terminal service.
09900	
10000		In  support  of  these  goals,  we  propose   the   following
10100	activities  which  will  be  described  in  more detail in subsequent
10200	sections of the proposal:
10300	
10400		1. We will acquire a number of remote display  terminals  and
10500	attach  them  to the PDP-10 based time-sharing system of the Stanford
10600	Artificial Intelligence Laboratory.  Some  will  be  located  in  the
10700	homes  of  suitable users and others will be located in public places
10800	on the Stanford campus.  (It will  be  explained  later  that  public
10900	terminals  will  be  more  effective  than  home  terminals  for some
11000	experiments).
11100	
11200		2. We will develop  a  package  of  applications,  make  them
11300	available, measure their use, and ask what the users think of them.
11400	
11500		3.  We  will  study the computer science problems involved in
11600	developing these highly  interactive  programs  and  in  making  them
11700	transportable.
11800	
11900		4.  We  will study the problem of making application programs
12000	that are usable in  a  uniform  and  easily  learnable  way  and  are
12100	unobtrusively self-documenting.
12200	
12300	
12400		In all this, our emphasis will be on the application programs
12500	rather  than  on the terminal, communication, or computer hardware or
12600	the time-sharing operating system itself.  In all these areas we will
12700	rely   on   existing   facilities  first,  off-the-shelf  purchasable
12800	facilities  second,  and  home  grown  ad  hoc  solutions  only  when
12900	necessary.
13000	
13100		It  is  necessary  to  recognize  that  this is a new area of
13200	computer science and engineering  and  that  it  will  take  time  to
13300	develop real professionals.  We hope that graduate students will find
13400	this a fruitful area for their initial scientific work.
     

00100	AN INITIAL SET OF HOME TERMINAL APPLICATIONS
00200	
00300		We won't get all books and newspapers published  as  computer
00400	files  or get all car dealers to advertise their chariots through the
00500	public information utility until there are enough home  terminals  to
00600	make  a market, and the home terminal won't reach its full usefulness
00700	until these facilities are available.  In fact, it is non-trivial  to
00800	devise  a  set  of applications that can be done now useful enough to
00900	justify anyone but a programmer tolerating a terminal  in  his  house
01000	let  alone  paying  for  it.  Nevertheless, we think we have a set of
01100	home terminal applications large enough to make a viable  system  and
01200	we hope to think of more.  It wasn't easy, but here they are:
01300	
01400		1.  First of all, Martin Frost, one of our graduate students,
01500	has already programmed a news service based on the  Associated  Press
01600	national and international news wire and put it into our time-sharing
01700	system.  The AP wire is connected to the computer,  and  the  stories
01800	are  classified  and filed on the disk as they come in.   The present
01900	classification is according to the presence of  several  hundred  key
02000	words  in  the stories - e.g. the names of countries, states, cities,
02100	prominent people, and various topics.  A user of the system  gives  a
02200	Boolean  combination of key words (e.g. Nixon - Vietnam) and his told
02300	how many stories there are corresponding to this expression (e.g.  he
02400	may  be  told  there are 11 stories containing the word Nixon and not
02500	the word Vietnam).  He can then see the  first  few  lines  of  these
02600	stories and select which ones he wishes to read in full.  The program
02700	has been available since August and is  used  about  1000  times  per
02800	month,  about  half  of the use is from our laboratory and about half
02900	over the ARPA network.  With publicity, it would be more  used  which
03000	would not be to our advantage.
03100	
03200		This  preliminary  experiment is the only one we have already
03300	done. We propose to improve it in various ways, and here are some  of
03400	the  possibilities:  add  more  news, keep more than one day's worth,
03500	allow a keyword like "animal" to get  all  stories  mentioning  dogs,
03600	cats, etc., give the system some sophisticated question answering and
03700	information retrieval capability, and see what can be done by a human
03800	editor  aided by the computer in producing a more useful computerized
03900	"newspaper".  To tell  the  truth,  the  program  has  been  so  well
04000	accepted  in  its initial crude form that making it sophisticated may
04100	merely gild the lily, but we shall see.
04200	
04300	
04400		2.  The  second  application  is  simply reading.  Initially,
04500	there won't be  much  entertaining  or  educational  reading  in  the
04600	system,  but  we can put some in for the purpose.  It is necessary to
04700	determine what aids such as "subroutine jumps"  to  cross  references
04800	will  be helpful and how the advantages of such computer aids compare
04900	with the advantages of hard copy.  We do not forsee a good individual
05000	hard copy device during the research period proposed here.
05100	
05200		3.  A  local information system updated by a clerk.  In this,
05300	it is not obvious how to compete with the local newspaper,  but  very
05400	likely there is enough information not kept in newspapers to be worth
05500	having one full time clerk putting it in.  If there is, we'll  employ
05600	the clerk.
05700	
05800		4.    Connection    to    institutional   computer   systems.
05900	Possibilities  are  airline  reservation  systems,   ticket   booking
06000	systems,  and  the  University's administrative computer system.  The
06100	idea is to make interfaces that are uniform to the home terminal user
06200	and  give  him  the  facilities  that  the proprietor of the computer
06300	system is willing for individuals to have.  A way of having the  user
06400	identify  himself may be necessary.  It may be possible to get at one
06500	blow access to systems  residing  in  a  local  time-sharing  service
06600	bureau.    In   general,   we   will  explore  the  possibilities  of
06700	co-operating with them and perhaps having them take over the services
06800	when this is reasonable.
06900	
07000		Another  possibility  in  this direction arises in connection
07100	with the fact that financial  institutions  are  studying  electronic
07200	transfer  of  funds.   We  would  like  to  consider this question in
07300	connection with the home terminal and see how this facility might  be
07400	integrated into the larger set of services that a home terminal might
07500	provide.  We suspect that the financial institutions might  have  too
07600	specialized  interests  to  do  this  right  and  might  welcome some
07700	interaction.
07800	
07900		5.  CAI.   We  propose  to   make   this   an   exercise   in
08000	transplantation.    The    idea    is    not    to   make   our   own
08100	computer-aided-instruction system but rather  solve  the  problem  of
08200	transplanting an already developed system to our machine.
08300	
08400		6. Desk calculation with extensions.  This is straightforward
08500	and of limited usefulness to most people, but we'll do it.
08600	
08700		7. A discussion system based on the articles in  a  magazine.
08800	This would require having a number of users interested in reacting in
08900	writing to discussion on a topic.  It may or may not be feasible.
09000	
09100		8.  Other  applications  that  have  been  suggested  include
09200	finding the best route for driving to an address, some amusements and
09300	games, and some kind of clothing design system.  We don't promise  to
09400	do all those mentioned and will undoubtedly do some not mentioned.
09500	
09600		It  is not clear how difficult it is to do these applications
09700	or how long it will  take  to  get  people  to  take  a  professional
09800	interest in them.
     

00100	QUESTIONS OF COMPUTER SCIENCE
00200	
00300	
00400		The   main   questions  of  computer  science  that  we  have
00500	identified so far are:
00600	
00700		1. How to make programs that interact with people, files, and
00800	computers  portable.  The key to this seems to lie in identifying the
00900	semantics of the interactions  and  separating  it  from  syntax  and
01000	hardware.
01100	
01200		2.  A  second problem is to develop a language for expressing
01300	the  kinds  of  things  computer  programs  belonging  to   different
01400	institutions  or  individuals might say to each other.  These include
01500	price and other inquiries, purchase orders, etc.  This  problem  goes
01600	beyond the home terminal application.
01700	
01800		3.  A  uniform  system for making the facilities of a program
01900	available to an inexperienced user - distinguishing  a  user  who  is
02000	inexperienced  with  the  particular  program  from  the  user who is
02100	inexperienced with interactive programs altogether.  The latter needs
02200	some  tutoring,  but the former can probably do a lot without reading
02300	or  formal  instruction   if   things   work   in   a   uniform   and
02400	self-documenting  way.  This  is  especially  important  in  the home
02500	terminal context, because we envisage that when  home  terminals  are
02600	well  developed,  there  will  be  literally  thousands  of  services
02700	available, and the utility of any particular service will  depend  on
02800	how easy it is to start using it.
02900	
03000		4.  One  idea  we  shall  explore is that of non-hierarchical
03100	control systems which allow a user to get  at  any  facility  of  the
03200	system  whatever  he  has just been doing without losing the state of
03300	his current activity.
03400	
03500		5. We shall work on the problems of security and  privacy  of
03600	presented  by  home  terminals  to  assure  both  the  privacy of the
03700	individual and the security of the systems that he uses.
03800	
03900		6. Home terminals raise  a  number  of  problems  in  display
04000	generation and maintenance.  Present systems are far from ideal.
04100	
04200		7.  The  widespread  sharing  of  interactive  programs  will
04300	probably require a number of software  and  hardware  standards.   We
04400	propose  to  study  the  requirements  for a standard general purpose
04500	terminal  only  those  features  required  to  make   services   work
04600	everywhere  would  be  standardized,  a standardizable set of display
04700	commands, a standardizable set of operations  for  human  interaction
04800	and  interaction  with  files,  a  file description system that would
04900	permit any file on a  mass  storage  device  in  the  country  to  be
05000	described   so   that   data   could   be   obtained   from  it  over
05100	telecommunication networks, and standards for documents in  arbitrary
05200	character sets and with pictures.
05300	
05400		The  object  of these standardizability efforts is not to get
05500	the standards accepted, although this might happen if we design  them
05600	well  enough.   All  we really propose to do is to study the problems
05700	from a non-parochial point of view and make proposals that could be a
05800	basis for discussion of standards.
     

00100	QUALIFICATIONS OF THE STANFORD ARTIFICIAL INTELLIGENCE LABORATORY
00200	
00300	
00400		The Laboratory has operated a time-sharing system since 1966,
00500	now equipped with a PDP-10 processor, 256K 36 bit words  of  core,  a
00600	swapping  disk,  an IBM 3330 based file system with 600,000,000 bytes
00700	of storage and about  60  display  terminals.   About  45  users  are
00800	supported by the current system which is mainly limited by CPU power.
00900	The time-sharing system is quite stable.   The  Laboratory  has  been
01000	mainly  supported  by  a  research contract with the Defense Advanced
01100	Research  Projects  Agency's   Office   of   Information   Processing
01200	Techniques.   The  research  has  concerned  artificial intelligence,
01300	picture processing, robotics, speech  recognition,  and  mathematical
01400	theory  of  computation.   The  Laboratory  has  good  capability  in
01500	time-sharing system design, programming languages, and in the  design
01600	and fabrication of computer hardware.
01700	
01800		We  also  have extensive experience in using the computer for
01900	composing, editing and printing documents.  Most of our  reports  are
02000	prepared  directly  at  a  display  terminal  and we are putting into
02100	service a printer that can put out arbitrary character texts and line
02200	drawings.  This gives us extensive experience in the use of computers
02300	for  interactive  tasks  other  than  programming  and   in   writing
02400	interactive programs that make this easy.
     

00100	PERSONNEL
00200	
00300	McCarthy, Earnest and who else
     

00100	STAFF
00200	
00300		1. A fraction of McCarthy
00400	
00500		2. A fraction of Feldman or Green or Winograd.
00600	
00700		3. A research associate
00800	
00900		4. two or three graduate students
01000	
01100		5. one professional programmer maybe two
01200	
01300		6. a hardware hacker
01400	
01500		7. a clerk
01600	
01700	HARDWARE
01800	
01900		1.   About   10  remote  terminals.   The  type  is  not  yet
02000	determined, but we believe that they should be capable of  displaying
02100	a  good  fraction  of  a  page  of  arbitrary character set text plus
02200	pictures. Such terminals will be economical by  the  time  the  other
02300	aspects are worked out and the utility of many of the applications of
02400	home terminals depend on good quality terminals.   We  only  wish  it
02500	were  feasible  to  include  a  fast, silent, fully capable hard copy
02600	device with  the  terminal.   Perhaps  a  telephone  based  facsimile
02700	machine  will  do for experiments in spite of its slowness. If we can
02800	get them soon enough, a single terminal version of the display system
02900	devised by Peter Wiener at Yale would be good.
03000	
03100		2.  Communication.  For our experimental remote terminals, we
03200	expect to use private lines leased from the telephone company.   They
03300	are available and reasonably economical.
03400	
03500		3. An increase in processing power. KI10 or part of Foonly.
03600	
03700		4.  A  new  multiplexor  for our computer to handle low speed
03800	communication channels.